Enhanced algorithm for initial AP selection and roaming

ABSTRACT

In a wireless network, such as an 802.11 conformant wireless LAN, a wireless station selects an access point, e.g., during power-up or roaming, based on the received signal strength indicator (RSSI) and channel loading information. The RSSI information is measured by the receiving station when the beacon or probe response frame is received, and the channel loading information is communicated to the station through the beacon or probe response frames. The channel loading information is a percentage of time the access point is busy transmitting or receiving data during a reporting interval. By using both RSSI and channel loading information, performance is increased when the access point with the strongest signal is also the busiest. In this case, this access point would not be selected for association with the wireless station.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to access point (AP) selection inwireless network systems, and more particularly to access point (AP)selection in IEEE 802.11 (WLAN) systems that provides channelutilization indicator and signal strength measurement capabilities orother similar functionalities.

[0003] 2. Discussion of the Related Art

[0004] Wireless local area networks (WLANs), which can be a specificphysical site, such as an office building, or an area, allow wirelessusers or stations to communicate with other stations within the LAN. Ina typical network, a LAN has a plurality of Basic Service Sets (BSSs),with each BSS typically having a base station or an access point (AP)connected to a wired network and two or more wireless stations.Communication within the BSS, such as to other wireless stations or afile server, is provided through the AP. In this case, stations arerequired to associate with an AP in order to gain access to the network.Thus, initially when a station decides to join the network, it wouldneed to search for an AP to associate with before any delivery of datais allowed. During the course of data transmission after theassociation, a wireless station may move or “roam” out of the coveragearea associated with its current AP. In this case, it must associateitself with a new AP in order to communicate within the LAN. Whenroaming, the wireless station maintains connection with its current AP.APs are located throughout the LAN, with each BSS typically havingoverlapping coverage with other BSSs, so that the wireless stations canroam from one area to another within the LAN and maintain communicationanywhere in the LAN. APs also allow communication between wirelessstations in different BSSs through corresponding APs.

[0005] When roaming or during initial station-to-AP association phase,the wireless station must identify and associate with a suitable accesspoint. However, since the LAN may have numerous APs to choose from,networks utilize various algorithms for selecting an access point. Forexample, with wireless networks conforming to the IEEE 802.11 standard,APs, either periodically or upon request, send a beacon or a responseframe that carries information such as network loading. Stationsreceiving these frames measure the received signal strength indicator(RSSI). The RSSI value represents the signal strength of the beacon orthe response frame received by the station. Although the IEEE 802.11specification provides beacon transmission that allows stations todiscover the existence of APs in the network and provides the basicframe types to support association service between the station and AP,it does not actually set the AP selection algorithm. Using the RSSIvalue, conventional algorithms select the AP with the strongest signal.

[0006] There are two ways for a wireless station to scan for existingAPs, active scanning and passive scanning. For active scanning, thewireless station sends out a probe frame on specific channels (the samechannel and/or different channels) to solicit response frames from APsin the area. For passive scanning, the wireless station “listens” forbeacon frames, which are transmitted periodically by APs. Once thewireless station finds the AP with the strongest signal, the wirelessstation sends a request to that AP for association. The AP thentransmits an acknowledgement and acceptance of the request. Thisselection can be done when a wireless station enters the network, movesto another cell, or stays in the same cell but tries to associate with adifferent AP because the existing connection has weakened. Badconnections can result from low signal strength and poor signal quality,which can lead to high packet error rates and low network throughput ofthe wireless station.

[0007] However, selection algorithms based only on RSSI values do notalways select the AP that results in the best communication and/orthroughput. For example, a wireless station has received information(e.g., contained in beacon or response frames) from three potentialaccess points, AP₁, AP₂, and AP₃, with which to associate. If AP₂ hasthe highest RSSI value, AP₂ is selected, and a connection isestablished. However, AP₂ may also be maintaining connection with alarge number of other wireless stations, resulting in a high networkloading for AP₂. So, even though AP₂ has the strongest received signal,the wireless station may experience very low performance, which couldinitiate another scan by the wireless station for a better connection.Thus, in this case, the station will find itself consuming most of thetime in searching for APs instead of transmitting useful data.

[0008] Accordingly, it is desirable to have an access point selectionalgorithm without the disadvantages discussed above associated withconventional algorithms.

SUMMARY OF THE INVENTION

[0009] In accordance with the present invention, access point selection,both initially and during roaming, in a wireless LAN, such as 802.11conformant networks, utilizes both a signal strength indicator and achannel utilization indicator. By using both indicators, the wirelessstation may select an access point that will provide an overall highercommunication performance when factoring in both network throughput andsignal quality. The channel utilization is defined as the percentage oftime an access point is busy transmitting or receiving data during thereporting interval. It is calculated as the ratio between the amount oftime that the access point transmits or receives data and the totalutilization measuring duration.

[0010] In one embodiment of the present invention, the wireless stationfirst acquires signal strength (e.g., RSSI) and channel loadinginformation from all access points at the appropriate frequencies. Ingeneral, if APs exist that have channel loading less than the maximumacceptable value and signal strength greater than a first threshold, theAP having the highest signal strength is selected. If no APs meet theabove criteria, the first threshold is decreased to a second threshold.If there are APs that meet this more relaxed condition, the AP havingthe lowest channel utilization is selected. If there are still no APssatisfying the conditions, the AP is selected having the lowest channelutilization, while having a signal strength greater than the secondthreshold.

[0011] More specifically, in one embodiment, if there is an operatingmode configured, e.g., 802.11(a), 802.11(b), or 802.11(g), the wirelessstation determines whether there exists any access points in which thechannel loading is below the maximum AP loading that the station cantolerate (e.g., still meet its QoS) and having an RSSI value greaterthan or equal to −62 dBm. If so, then the AP with the lowest channelloading is selected. However, if these conditions are not met, thewireless station determines whether any AP exists that still meet theearlier threshold requirement, but having an RSSI value greater than orequal to −82 dBm. If so, then the wireless station selects the AP withthe highest associated signal strength. If these second set ofconditions are still not met, the AP having the lowest channel loading,while still having a signal strength greater than −82 dBm is selected.If no APs have signal strength greater than −82 dBm, none is selected.

[0012] In the present invention, the wireless station uses the network(channel) loading information as well as the signal strength informationto select an AP that not only provides high signal quality but alsomeets the QoS requirements and at the same time optimizes the networkthroughput.

[0013] This invention will be more fully understood in light of thefollowing detailed description taken together with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014]FIG. 1 is a flow chart showing one embodiment of the invention forinitial access point (AP) selection;

[0015]FIG. 2 is a flow chart showing one embodiment of the activescanning step of FIG. 1;

[0016]FIG. 3 is a flow chart showing one embodiment of the passivescanning step of FIG. 1;

[0017]FIG. 4 is a flow chart showing one embodiment of the AP selectionstep of FIG. 1;

[0018]FIG. 5 is a flow chart showing one embodiment for joining an APfrom FIG. 1;

[0019]FIG. 6 is a flow chart showing one embodiment of the invention forAP selection during roaming;

[0020]FIG. 7 is a flow chart showing one embodiment of the AP selectionstep of FIG. 6; and

[0021]FIG. 8 is a diagram showing a portion of a wireless local areanetwork suitable for implementing the present invention.

[0022] Use of the same reference numbers in different figures indicatessimilar or like elements.

DETAILED DESCRIPTION

[0023] The present invention provides an algorithm for access point (AP)selection in wireless local area networks (LANs) that utilizes both thereceived signal strength indication (RSSI) value and the channel ornetwork loading information. The invention is suitable for differenttypes of wireless LANs, including those conforming to the IEEE 802.11standard, such as 802.11(a), 802.11(b), and the working drafts such as802.11(g) and 802.11(e) with APs having extended capability to supportchannel loading measurement. 802.11 conformant networks typicallyinclude a plurality of Basic Service Sets (BSSs), with each BSS havingmultiple wireless stations and an access point (AP). The stations can beany device that can function within the 802.11 protocol, e.g., withphysical layer (PHY) interfaces to the wireless medium and Media AccessControl-(MAC) that utilizes Carrier Sense Multiple Access with CollisionAvoidance (CSMA/CA) protocol. Examples of suitable devices includelaptop PCs and handheld devices, such as PDAs. These devices can bemobile, portable, or stationary. AP devices also contain 802.11conformant MAC and PHY interface to the wireless medium and provideaccess to a distribution system for associated stations.

[0024] The present invention applies to wireless LANs having APs thatcan be configured to operate in 802.11(a), 802.11(b) or 802.11(g) andwireless stations that can fix their operating mode or search for themode that provides the highest network throughput.

[0025] While there are many similarities across the various 802.11protocols, there are also significant differences. 802.11(a) specifies ahigh-speed physical layer operating in the 5 GHz radio band utilizing acomplex coding technique known as orthogonal frequency divisionmultiplexing (OFDM). 802.11(a) devices can operate at eight data rates,6, 9, 12, 18, 24, 36, 48, and 54 Mbps.

[0026] In 802.11(b), which is probably the most widely implemented andused wireless LAN technology today, devices operate in the 2.4 GHz bandusing direct sequence spread spectrum (DSSS) modulation. Available datarates are 1, 2, 5.5, and 11 Mbps. 802.11(g) provides networks with thehigh speed of 802.11(a) systems while operating in the 2.4 GHz radioband. Like 802.11(a), 802.11(g) uses OFDM, but it also supportscomplementary code keying (CCK) modulation for compatibility with802.11(b) and has an option that allows packet binary convolutionalcoding (PBCC) modulation.

[0027] Regardless of the protocol, before a wireless station can begincommunication or sending data through an AP within a wireless network,it must associate itself with an AP. A wireless station typicallyinvokes the association service only once. e.g., when it enters a BSS orafter power-up. Each station can associate with one AP, while manystations can be associated with a single AP.

[0028] FIGS. 1-5 are flow charts showing one embodiment of the presentinvention. FIG. 1 is a flow chart showing a general overall process foran initial AP selection process 100. When the station enters a BSS, itgets the configuration of that BSS in step 102. For example, the BSSconfiguration can be an ad hoc network (or Independent Basic ServiceSet, IBSS), in which communication is established directly between twowireless stations, or an infrastructure mode, in which an AP in the BSSfacilitates communication between wireless stations. Once the BSSconfiguration is obtained, the station gets the Service Set Identifier(SSID) of the BSS in step 104. If an SSID is configured, then thestation only chooses APs with a matched SSID.

[0029] Next, in steps 108, 110, 112, and 114, the wireless stationchecks to see if a particular operating mode (i.e., 802.11 (a), 802.11(b), 802.11 (g)) is configured for it. If there is no specificconfiguration, the station searches APs for all available modes.However, if the station is configured for a particular mode, the stationonly searches APs within that mode.

[0030] If the wireless station has not been configured for a particularoperational mode (i.e., the result of step 108 is no) or the station isconfigured for 802.11 (a) (i.e., the result of step 110 is yes), thenthe wireless station determines, in step 115, whether spectrummanagement is enabled. In some regions, such as in Europe, operation ofwireless devices in the 5 GHz band shall satisfy the related regulatoryrequirements (e.g., TPC and DFS) set forth by the regulatory bodies.Dynamic frequency selection (DFS) facilities are mandated to satisfyrequirements in some regulatory domain for radar detection and uniformchannel spreading in the 5 GHz and other purposes. Transmit powercontrol (TPC) facilities are mandated to satisfy requirements in someregulatory domains for maximum transmit power and average transmit powermitigation in the 5 GHz band and other purposes.

[0031] In the present invention, details relating to spectrum managementor TPC/DFS can be found in different documents on 802.11 spectrummanagement in the 5 GHz band, such as the IEEE 802.11 (h) draft 2.1 July2002, entitled “Spectrum Management in 5 GHz band in Europe”, which isincorporated by reference in its entirety. The purpose of this potentialstandard is to define mechanisms for DFS and TPC that may be used tosatisfy regulatory requirements for operation in the 5 GHz band inEurope.

[0032] If spectrum management is not enabled, the station determineswhether the scanning mode is active or passive, in step 118. Otherwise,in step 116, the station determines whether the station knows TPCrelated regulatory requirements. TPC related regulatory requirements mayinclude maximum transmit power and average power mitigation in the 5 GHzband specified by the region. The discussion of this topic is beyond thescope of this invention; those who are skilled in the art or those whowould like to implement devices to support spectrum management caneasily obtain the information relating to the regional regulations.

[0033] Note that at the time of this writing, 802.11 (h) is a draft andhas not yet become a standard, i.e., some requirements in the draft arestill not solid and are subject to change. However, this invention takesinto account the main goals of 802.11 (h) by incorporating some of thebasic requirements that allow implementers who want to provide 802.11(h) capabilities to also utilize the present invention.

[0034] Referring back to FIG. 1, if the result of step 116 is no, thewireless station searches for APs by passive scanning (as will bediscussed in detail below). However, if the wireless station isconfigured for 802.11 (b) or 802.11 (g) (i.e., the result of step 112 or114, respectively, is yes), the result of step 115 is no, or the resultof step 116 is yes, then the wireless station determines the scanningmode in step 118.

[0035] If active scanning, the station, in step 122, performs an activescan in the appropriate frequencies and obtains or measures thenecessary information, i.e., received signal strength indication (RSSI)value and network or channel loading, for subsequent, access pointselection.

[0036]FIG. 2 is a flow chart showing one embodiment of an activescanning process 122 of FIG. 1. In step 200, the station starts thescanning at the lowest frequency. For example, for 802.11 (a), thelowest channel frequency is centered at 5.180 GHz, and for 802.11 (b),the lowest channel frequency is centered at 2.412 GHz. Since this isactive scanning, in step 204, the station must first send a proberequest to all APs receiving on the selected frequency channel. Theprobe request includes the address of the transmitting wireless stationand SSID if one is configured; however, the destination address containsthe broadcast BSSID (e.g., a value of all Is). Accordingly, all APs witha matched SSID receiving the probe request will respond.

[0037] After sending the probe request, the wireless station “listens”for probe responses from the APs, in step 206. The probe responsecontains information about the AP and communication channel, such as theaddress of the transmitting AP, hopping sequence, and channel loading(information embedded in the beacon or probe response frames as part ofthe 802.11 (e) draft specification). In step 206, the wireless stationalso listens for beacons sent by APs. Conformant to 802.11, APsperiodically transmit beacon frames for each channel at fixed timeintervals called beacon intervals. The beacons contain informationsimilar to probe responses, such as the AP address and channel loading.Details of active scanning are well known to those skilled in the artand are not described in detail herein.

[0038] After receiving the probe response or beacon, the wirelessstation determines if a channel switch announcement exists in step 208.As part of the 802.11 (h) draft, the channel-switch announcement isembedded in the beacon or probe response frames to indicate to stationsin the BSS that the AP is intended to move to another channel to avoidcontention with radar signals. If such an announcement exists in thebeacon, the station shall not attempt to associate with the AP andtherefore sets the RSSI to −∞, in step 210. The RSSI value is thenstored or recorded for the corresponding AP and frequency in step 211.However, if there is no channel switch announcement, the wirelessstation checks, in step 212, if the current BSS is a QoS BSS (QBSS),i.e., whether the AP transmitting the beacon supports 802.11 (e). If itis a QBSS, then the QBSS_Load value is recorded. The QBSS_Load valuerepresents the traffic load within the BSS, and this information iscontained in the probe response or beacon frames received from the APs.

[0039] The QBSS_Load value indicates the channel utilization or loadingof the AP. In one embodiment, QBSS_Load is calculated according toequation (1) below. $\begin{matrix}{{QBSS\_ Load} = \frac{{Busy}\quad {Duration}}{{Measurement}\quad {Duration}}} & (1)\end{matrix}$

[0040] Busy Duration is the amount of time the AP transmits or receivestraffic, and Measurement Duration is the total channel utilizationmeasurement duration. The default value for the Measurement Duration isa beacon interval, with a typical value being 100 ms. Note that equation(1) is a different way to calculate channel utilization than thedefinition provided by IEEE 802.11 (e) (draft 2.0), which calculates theratio of the number of utilized bits per second (bps) to the totalnumber of available bps. However, a problem with this definition is thatit is hard to quantify the total available bps during the idle periodwhen no data is being received since the stations can be transmitting inany of the available data rates. Equation (1) does not rely on the datarate information from the idle period, rather it is dependent only onthe busy period and the total measurement duration. Note that otherindications of channel utilization or loading may also be suitable,depending on system requirements.

[0041] The channel loading number (or QBSS_Load value) is between 0 and1, or expressed as a percentage, between 0 and 100%. Thus, a channelloading of near 100% indicates that the AP is almost fully utilized, andany new stations trying to join that AP will experience poor performancedue in part to low network throughput, even though the received signalsmay still be strong. On the other hand, a channel loading of near 0indicates that not many stations are processing data through that AP,and thus, the AP is under-utilized.

[0042] Referring back to step 212, if the result of step 212 is no, thewireless station records the RSSI value in step 211. If the result ofstep 212 is yes, the station first records the QBSS_Load value in step214 before recording the RSSI value in step 211. The RSSI value istypically given in dBm.

[0043] After storing addresses, RSSI values, and channel loadinginformation of the APs in the selected frequency channel, the wirelessstation, in step 216, determines if there are additional frequenciesthat have not been checked. If all the frequencies have been checked,the algorithm ends the active scanning routine and uses the acquiredinformation to select the best AP for association in step 130 (FIG. 1).However, if all the frequencies have not been checked, the wirelessstation checks the next lowest frequency in step 220. The wirelessstation measures the RSSI and obtains the address and channel loadinginformation for all the receiving beacon and probe response frames.

[0044] For example, with 802.11 (a) networks, there are 12 frequencychannels, with each channel being 20 MHz wide and centered at 20 MHzintervals (beginning at 5.180 GHz and ending at 5.320 GHz for the lowerand middle U-NII bands and beginning at 5.745 GHz and ending at 5.805GHz for the upper U-NII band). With 802.11 (b) networks, there are 14frequency channels (1-11 in North America, 1-13 in most of Europe, and14 in Japan). Each channel is 22 MHz wide and centered at 5 MHzintervals beginning at 2.412 GHz and ending at 2.462 GHz for the NorthAmerican channels. Thus, several channels overlap each other in thespectrum. So, with devices in an 802.11 (b) network, the wirelessstation next checks the channel with a center frequency of 2.417 GHz.

[0045] After the last frequency channel is checked, the wireless stationdetermines the best AP in step 130 (FIG. 1).

[0046] Returning back to FIG. 1, step 118, if the scanning is passive,the wireless station performs a passive scan in step 126 to measure RSSIvalue and to acquire the address and channel loading information (orQBSS_Load value) of each AP at the operating frequencies. FIG. 3 is aflow chart showing one embodiment of passive scanning process 126 ofFIG. 1. In step 300, the station starts the passive scanning at thelowest frequency of the network. Since the scanning is passive, thewireless station does not send out probe requests as with the activescanning described above. Instead, in step 302, the wireless stationlistens for beacon frames that are transmitted periodically by the APs.As with active scanning, details of passive scanning are well known tothose skilled in the art and are not described in detail herein.

[0047] Similar to the active scanning (steps 208, 210, 211, 212 214),the wireless station determines if a channel switch announcement exists(in step 304) and if a QBSS_Load value is stored (in step 308).Depending on the results, prior to storing the RSSI value (in step 307),the RSSI is set to −∞ (step 306), left unchanged, or the QBSS_Load valueis first stored (step 310).

[0048] If the wireless stations determines, in step 312, that allfrequencies have been checked, the process for selecting the best APbegins in step 130 (FIG. 1). However, if not all the frequency channelshave been scanned, then the wireless station checks for beacons at thenext lowest frequency channel in step 316. This process continues untilthe wireless station has stored the address, RSSI value, and channelloading information (or QBSS_Load value) for all APs in the network.Once this is completed, the wireless station selects the best AP in step130 (FIG. 1) based on the stored information.

[0049]FIG. 4 is a flow chart of one embodiment of AP selection process130 of FIG. 1, which is initiated after the active scanning in step 122or the passive scanning in step 126 is completed. In step 404, thewireless station first determines if an operational mode has beenconfigured, i.e., for 802.11 (a), 802.11 (b), or 802.11 (g) networks. Ifthe network is configured for a specific operational mode, the wirelessstation, in step 406, determines if there any configured APs in itsscanned list. If not, then the result of the AP selection indicates thatno AP was found or no suitable AP exists in step 432, and the APselection process ends in step 418.

[0050] However, if there is at least one configured AP, the stationbegins a search, in step 407, of its list of scanned APs for the bestaccess point to associate with. First, in step 408, the station comparesall the RSSI value and channel loading information (or QBSS_Load value)from its scanned list for each of the APs in the appropriate configuredmode. From this stored information, the wireless station searches forAPs that satisfy the following two conditions:

QBSS_Load<MaxLoadThreshold   (2)

RSSI≧−62 dBm   (3)

[0051] MaxLoadThreshold is the optimum performance threshold theparticular wireless station can tolerate while still meeting its qualityof service (QoS) requirements. Note that different stations may havedifferent maximum threshold values, since each may have different QoSrequirements.

[0052] If there is at least one access point meeting conditions (2) and(3), the wireless station selects the AP with the lowest channel loading(or QBSS_Load value) in step 412. Then, in step 416, the result of theAP selection indicates that an AP was found or a suitable AP exists andthe AP selection process ends in step 418.

[0053] If no AP exists that satisfies conditions (2) and (3), thewireless station, in step 436, determines if an AP exists that satisfiesthe following two conditions:

QBSS_Load<MaxLoadThreshold   (2)

RSSI≧−82 dBm   (4)

[0054] Note that the condition for QBSS_Load remains unchanged, whilethe minimum threshold for RSSI is increased from −62 dBm to −82 dBm.

[0055] If at least one AP exists from step 436, the wireless stationselects the AP with the highest RSSI value in step 440. Then, the resultof step 416 indicates that a suitable AP exists, and the AP selectionprocess ends in step 418. However, if there are no APs satisfyingconditions (2) and (4) in step 436, the wireless station selects the APhaving the lowest QBSS_Load number and meeting the requirement ofcondition (4) (reproduced below) in step 424.

RSSI≧−82 dBm   (4)

[0056] Step 428 then determines if there are any APs selected from step424. If there are none, then the result of the AP selection indicatesthat no AP was found or no suitable AP exists in step 432 and the APselection process ends in step 418. However, if there is an AP thatsatisfies condition (4), the one with the lowest QBSS_Load number isselected, and the result of the AP selection indicates, in step 416,that a suitable AP has been found. The AP selection process then ends instep 418.

[0057] Returning to step 404, if no operational mode is configured, thenthe wireless station searches its scanned list to determine first instep 444 if there are any 802.11 (a) and 802.11 (g) APs on the list, andif not, then in step 446 if there are any 802.11 (b) APs on the list. Ifthere is at least one 802.11 (a), 802.11 (b), or 802.11 (g) AP thatexists, the wireless station begins to search, in step 407, forappropriate APs. First, the station searches the appropriate APs forones that meet conditions (2) and (3) (in step 408). If there are none,then the search continues for APs that meet conditions (2) and (4) (instep 436). Processing continues as described above to determine if asuitable access point is found.

[0058] If there are no 802.11 (a), 802.11 (b), or 802.11 (g) APs in thewireless station's scanned list (as determined in steps 444 and 446),then the search result returns an indication, in step 432, that nosuitable AP was found. The AP selection process then ends in step 418.

[0059] Referring back to FIG. 1, once the AP selection process ends, thewireless station determines, in step 134, whether a suitable AP wasfound in step 130. If no APs were found in the AP selection process, thewireless station, in step 142, sends an error message to the applicationindicating that no APs were found, and no connection between thewireless station and any AP in the BSS can be made at the time. However,if an AP exists, then the wireless station attempts to associate withthe selected AP in step 138.

[0060]FIG. 5 is a flow chart of one embodiment of AP association process138 of FIG. 1. This process is initiated if an AP was found during theselection process. In step 500, the wireless station determines itstransmission power capability, and sets local transmission power to theAP at the maximum. The wireless station then sends an associationrequest, in step 504, to the address of the selected AP if the DFS(Dynamic Frequency Selection) regulation is met. In step 508, thewireless station receives the association response from the AP and joinsthe network. Before the association response is sent, the AP must firstacknowledge and accept the association request before the connection canbe created. Once the communication channel is set up, data transmissionbetween the wireless station and AP commences.

[0061] However, during the data transmission process, the channel ornetwork loading for the AP may have become very high, e.g., byadditional wireless stations associating with that AP, resulting inunacceptable levels of network throughput. Also, the received signalstrength from the AP may have decreased to the point that reliablecommunication between the station and AP is no longer possible. Once awireless station associates with an AP, the station may move out ofcoverage area of that AP. In such situations, the wireless station willneed to find another AP to associate with. Thus, the wireless stationtriggers an AP selection-during-roaming process to find an AP capable ofproviding the best available performance.

[0062] The AP selection-during-roaming process is similar to the initialAP selection process of FIGS. 1-5, except that after an AP selected, thewireless station is required to transmit a disassociation request to thecurrent AP before joining the new AP. This is because during roaming,the wireless station maintains connection with its current AP.

[0063] FIGS. 6-7 are flow charts showing one embodiment of an APselection-during-roaming process. FIG. 6 is a flow chart showing ageneral overall process of the algorithm. In step 600, the wirelessstation determines whether any one of the following three conditions issatisfied:

PER≧50% and Data Rate=lowest_data_rate   (5)

CurrentLoad≧MaxLoadThreshold   (6)

Number of consecutive beacons missed≧5   (7)

[0064] Lowest_data_rate is the lowest supported data rate for thecorresponding AP. For 802.11 (a), the lowest_data_rate is 6 Mbps, andfor 802.11 (b) and 802.11 (g), the lowest_data_rate is 1 Mbps. Condition(5) will allow the station to search for another AP, if other conditionsare met, when the current AP cannot provide the desired performance(e.g., PER≧50%) even at its lowest data rate. CurrentLoad is the mostrecent loading information obtained from the beacon or the proberesponse. For each station, MaxLoadThreshold will most likely be thesame as the one used in initial requirements during the time betweeninitial AP selection and roaming. Basically, MaxLoadThreshold iswhatever value the station has stored in this variable when it performsAP selection. PER or Packet Error Rate, as referred herein, iscalculated as follows: $\begin{matrix}{{PER} = \frac{{Num\_ ACK}{\_ Timeout}}{{Num\_ Frames}{\_ Tx}}} & (8)\end{matrix}$

[0065] where Num_ACK_Timeout is the number of times the station does notreceive acknowledgements (ACKs) for the transmitted frames, andNum_Frames_Tx is the total number of frames transmitted. PER rangesbetween 0 and 1, or equivalently between 0 and 100%.

[0066] So, if the packet error rate reaches or exceeds 50% when the datarate is at the lowest (6 Mbps for 802.11 (a), 1 Mbps for 802.11 (b) and802.11 (g)) or the current channel loading reaches or exceeds theoptimal performance threshold or the wireless station misses 5consecutive beacons transmitted by the AP, then the APselection-during-roaming process is started. Otherwise, the wirelessstation remains associated with its current AP.

[0067] Once it is determined that the wireless station needs to searchfor a new AP, the wireless station checks, in step 604, whether it iscurrently expecting an ACK from the AP. If the station is expecting anACK, and an ACK is received, in step 608, the station checks if it hasadditional fragments to transmit, in step 610. Fragments are smaller MAClevel frames, which combine to form a higher level data or managementframes. Fragments can improve the reliability of the overalltransmission due to the improved probability of successful transmissionof the smaller frames. Each fragment has a header, frame body, and CRCand is sent as an independent transmission, with a separateacknowledgment. If there are more fragments to transmit, the wirelessstation transmits the fragment in step 612. The station then checks ifit has received an ACK in step 608. The wireless station continuestransmitting fragments as long as there are more fragments to send andthe station receives ACKs from each transmission.

[0068] Once the wireless station stops receiving expected ACKs (steps604 and 608), has no more fragments to transmit (step 610), or transmitsa fragment without receiving an ACK (steps 612 and 608), the stationinforms its current AP, in step 616, that the station is entering a“power saving” mode. In response to the message, the AP halts alltransmissions to the station. The station also ceases all communication,in step 620, and begins the AP selection-during-roaming in step 624.

[0069]FIG. 7 is a flow chart showing one embodiment of APselection-during-roaming process 624 of FIG. 6. AP selection process 624is similar to initial AP selection process 100 of FIGS. 1-5. First, instep 700, the wireless station suspends its back-off timer until allfrequency channels have been searched. The back-off timer is suspendedso that the wireless station will not transmit data during the time itis roaming and searching for a new AP. After the back-off timer issuspended, the status of the wireless station is set for to “roaming instep 704. The station then checks if an operational mode has beenconfigured (in step 708), and if so, whether the mode is 802.11 (a),802.11 (b), or 802.11 (g) (in steps 710, 712, and 714, respectively).After checking configuration mode or if no mode is configured, thewireless station checks whether spectrum management is enabled and/orthe TPC related regulatory requirements are known in steps 715 and 716,respectively. Steps 708, 710, 712, and 714 718 are the same as steps108, 110, 112, 114-118 of FIG. 1 and are thus not discussed here indetail.

[0070] Depending on the results in steps 715 and/or 716, the wirelessstation either first determines the scanning mode in step 718 andperforms the appropriate scan (active in step 722 or passive in step726) or directly performs a passive scan in step 726. The scan, eitheractive or passive, is performed at the appropriate operating frequenciesto acquire the necessary information for AP selection. Active scan step722 and passive scan step 726 are the same as active and passive scans122 and 126 of FIGS. 2 and 3, respectively. Thus, details can bereferenced to the discussion above. After the scanning step, in which ascanned list of APs is created, the wireless station chooses the best APfrom that list in step 730. AP selection step 730 is the same asselection step 130 of FIG. 4. After AP selection, in step 734, thewireless station resets its back-off timer and roaming status. Next, instep 736, the station determines if an AP was chosen in step 730. Ifnot, the station remains with its current AP in step 735.

[0071] However, if an AP was found in step 730, the wireless stationtransmits a disassociation request to its current AP in step 737. Thedisassociation service is used to terminate an association between an APand a wireless station. After the wireless station disassociates withthe AP, it must now re-associate itself with the newly selected AP. Byusing the re-association service, the wireless station providesinformation to the AP to which it will be associated and informationpertaining to the AP which it will be disassociated. This allows thenewly associated AP to contact the previously associated AP to obtainframes that may be waiting there for delivery to the wireless station aswell as other information that may be relevant to the new association.The-wireless station then joins with the newly selected AP in step 738,which is the same as step 138 of FIG. 5. At this point, the wirelessstation can begin data transmission with its new AP.

[0072] The algorithms of the present invention can be implemented in avariety of wireless communication systems that support QoS and seeks tooptimize network performance. Potential applications include wirelessLANs, wireless MANs, wireless HANs, and wireless PANs. FIG. 8 is asimplified diagram of a portion of a WLAN network 800 that is conformantto 802.11. In FIG. 8, an Ethernet LAN 805 includes a first BSS 810 and asecond BSS 820, a workstation 830 (e.g., a desktop computer), and afileserver 840. BSS 810 has two wireless stations 812 and 814 and anaccess point 816, and BSS 820 has two wireless stations 822 and 824 andan access point 826. BSS 810 and BSS 820 have an overlapping coveragearea 850. Data is transmitted between a wireless station and workstation830 and/or fileserver 840 through an access point. If wireless station812 moves or roams into area 850, its connection with access point 816may degrade to the point that it needs to try and re-associate with anew access point. Existing software in 802.11 wireless stations can beeasily modified by those skilled in the art to allow wireless station812 to select a new access point according to the present invention.

[0073] AP selection according to the present invention provides animproved algorithm that utilizes information contained in the beacon orprobe response frame in addition to the RSSI value. By also using achannel loading value, an AP can be selected that may result in highernetwork performance, e.g., improved throughput and/or highercommunication quality, than with algorithms using just RSSI values.Further, channel loading values calculated without having to estimatethe data rate during idle periods where no data is being receivedprovides a better indication of channel utilization.

[0074] For example, a wireless station can associate with one of threeaccess points AP₁, AP₂, or AP₃. Table 1 below lists the channel loadingand RSSI value for each AP. TABLE 1 Access Point Channel loading RSSIAP₁ 85% −50 dBm AP₂ 50% −55 dBm AP₃  5% −60 dBm

[0075] With conventional algorithms that only use RSSI values, thestation will associate with AP₁, even though it has the highest channelloading or utilization. However, because of the high channel loading,the station may experience a very low performance and will startsearching for other APs to associate with. Thus, in this case, a stationwill find itself consuming most of the time searching for APs instead oftransmitting useful data. With the present invention, the wirelessstation would select AP₃, instead of AP₁. Even though the signalstrength is the lowest of the three, it is still high enough to sustainacceptable communication levels. Further, the lower channel utilizationprovides the station with higher performance than with AP₁.

[0076] The above-described embodiments of the present invention aremerely meant to be illustrative and not limiting. It will thus beobvious to those skilled in the art that various changes andmodifications may be made without departing from this invention in itsbroader aspects. For example, the above description uses specificthresholds, such as −62 dBm, −82 dBm, 5, and 50%. Other thresholds arealso suitable with use for this invention, depending on various factors,such as performance requirements and communication quality. Therefore,the appended claims encompass all such changes and modifications as fallwithin the true spirit and scope of this invention.

We claim:
 1. A method for selecting an access point (AP) in a wirelessnetwork, comprising: (a) measuring a received signal strength indicator(RSSI) and obtaining a channel loading indicator for each AP in eachfrequency channel; (b) setting a first and a second threshold for theRSSI and a third threshold for the channel loading indicator, whereinthe second threshold is less than the first threshold; (c) selecting theAP with the lowest channel loading indicator if an AP exists with anRSSI greater than or equal to the first threshold and a channel loadingindicator less than the third threshold; (d) if no AP is selected in(c), selecting the AP with the highest RSSI if an AP exists with an RSSIgreater than or equal to the second threshold and a channel loadingindicator less than the third threshold; and (e) if no AP is selected in(d), selecting the AP with the lowest channel loading indicator if an APexists with an RSSI greater than the second threshold.
 2. The method ofclaim 1, wherein the channel loading indicator is the percentage of timean AP is busy transmitting or receiving data during a reportinginterval.
 3. The method of claim 2, wherein the reporting interval is abeacon interval.
 4. The method of claim 1, the obtaining is by a passivescan or an active scan.
 5. The method of claim 1, wherein the network is802.11 conformant.
 6. The method of claim 5, wherein the operationalmode is configured.
 7. The method of claim 6, wherein the operationalmode is selected from the group consisting of 802.11 (a), 802.11 (b),and 802.11 (g) modes.
 8. The method of claim 5, wherein the operationalmode is not configured.
 9. The method of claim 8, wherein, in steps (c)and (d), the AP is selected from only 801.11 (a) or 802.11 (g) APs. 10.The method of claim 8, wherein, in steps (© and (d), the AP is selectedfrom only 802.11 (b) APs.
 11. The method of claim 1, wherein the firstthreshold is-62 dBm, and the second threshold is −82 dBm.
 12. A methodof selecting, from a plurality of access points in a wireless network,an access point by a wireless station, comprising: transmitting, by theaccess points, measuring signal strength information and obtainingchannel loading information for each access point; measuring, by thewireless station, the signal strength information for each access point;receiving channel loading information for each access point; andselecting an access point based on the signal strength and channelloading information.
 13. The method of claim 12, wherein the channelloading information for the selecting is the percentage of time anaccess point is busy transmitting dr receiving data during the reportinginterval.
 14. The method of claim 12, further comprising setting a firstand a second threshold for the signal strength information and a thirdthreshold for the channel loading information, wherein the secondthreshold is less than the first threshold.
 15. The method of claim 14,wherein the selecting comprises: (a) selecting the access point with thelowest channel loading if an access point exists with a signal strengthgreater than or equal to the first threshold and a channel loading lessthan the third threshold; (b) if no access point is selected in (a),selecting the access point with the highest signal strength if an accesspoint exists with a signal strength greater than or equal to the secondthreshold and a channel loading less than the third threshold; and (c)if no access point is selected in (b), selecting the access point withthe lowest channel loading if an access point exists with a signalstrength greater than the second threshold.
 16. A wireless network,comprising: a plurality of access points, each access point comprising atransmitter for sending channel loading information; and a plurality ofwireless stations within communication range of the access points,wherein each wireless station comprises: a receiver for measuring thesignal strength and receiving channel loading information from theaccess points; and a processor for selecting an access point based onthe signal strength and channel loading information.
 17. The wirelessnetwork of claim 16, wherein the processor is configured to calculate,from the channel loading information received from the access point, thepercentage of time the access point is busy transmitting or receivingdata during a reporting interval.
 18. The wireless network of claim 16,wherein the access points and wireless stations are conformant to IEEE802.11 standard.
 19. The wireless network of claim 17, wherein theprocessor is configured to set a first and a second threshold for thesignal strength information and a third threshold for the channelloading information, wherein the second threshold is less than the firstthreshold.
 20. The wireless network of claim 19, wherein the processoris configured to (a) select the access point with the lowest channelloading if an access point exists with a signal strength greater than orequal to the first threshold and a channel loading less than the thirdthreshold; (b) if no access point is selected in (a), select the accesspoint with the highest signal strength if an access point exists with asignal strength greater than or equal to the second threshold and achannel loading less than the third threshold; and (c) if no accesspoint is selected in (b), select the access point with the lowestchannel loading if an access point exists with a signal strength greaterthan the second threshold.